package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;

/**
 * 验收报告 验收报告对象 st_acceptance_report
 * 
 * @author ruoyi
 * @date 2020-03-04
 */
@ApiModel(value="StAcceptanceReport",description="验收报告实体") // 用来描述封装的参数对象与返回的参数对象
@JsonInclude(JsonInclude.Include.NON_NULL)
public class StAcceptanceReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(value = "主键ID",name="id",required = false,dataType="int",example="主键ID")
    private Long id;

    /** service 号 */
    @Excel(name = "service 号")
    @ApiModelProperty(value = "service 号",name="serviceNo",required = false,dataType="int",example="service 号")
    private String serviceNo;

    /** 工程师ID */
    @Excel(name = "工程师ID")
    @ApiModelProperty(value = "工程师ID",name="enginnerId",required = false,dataType="int",example="工程师ID")
    private Long enginnerId;

    /** 安装开始时间 */
    @Excel(name = "安装开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "安装开始时间",name="installStartTime",required = false,dataType="int",example="安装开始时间")
    private Date installStartTime;

    /** 安装结束时间 */
    @Excel(name = "安装结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "安装结束时间",name="installEndTime",required = false,dataType="int",example="安装结束时间")
    private Date installEndTime;

    /** 保修开始时间 */
    @Excel(name = "保修开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "保修开始时间",name="warrantyStartTime",required = false,dataType="int",example="保修开始时间")
    private Date warrantyStartTime;

    /** 保修结束时间 */
    @Excel(name = "保修结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "保修结束时间",name="warrantyEndTime",required = false,dataType="int",example="保修结束时间")
    private Date warrantyEndTime;

    /** 验收时间 */
    @Excel(name = "验收时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "验收时间",name="acceptanceTime",required = false,dataType="int",example="验收时间")
    private Date acceptanceTime;

    /**  电脑厂家 */
    @Excel(name = " 电脑厂家")
    @ApiModelProperty(value = "电脑厂家",name="computerMfr",required = false,dataType="int",example="电脑厂家")
    private String computerMfr;

    /**  电脑型号 */
    @Excel(name = " 电脑型号")
    @ApiModelProperty(value = "电脑型号",name="modelNumber",required = false,dataType="int",example="电脑型号")
    private String modelNumber;

    /**  服务号 */
    @Excel(name = " 服务号")
    @ApiModelProperty(value = "服务号",name="serviceNumber",required = false,dataType="int",example="服务号")
    private String serviceNumber;

    /**  操作系统 */
    @Excel(name = " 操作系统")
    @ApiModelProperty(value = "操作系统",name="software",required = false,dataType="int",example="操作系统")
    private String software;

    /**  操作系统 */
    @Excel(name = " 选项软件")
    @ApiModelProperty(value = "选项软件",name="optionSoftware",required = false,dataType="int",example="选项软件")
    private String optionSoftware;

    /**  系统软件 */
    @Excel(name = " 系统软件")
    @ApiModelProperty(value = "系统软件",name="syssoft",required = false,dataType="int",example="系统软件")
    private String syssoft;

    /** 是否同步到CC，0未同步、1已同步 */
    @Excel(name = "是否同步到CC，0未同步、1已同步")
    @ApiModelProperty(value = "是否同步到CC，0未同步、1已同步",name="syncFlag",required = false,dataType="int",example="是否同步到CC，0未同步、1已同步")
    private String syncFlag;

    /** 同步到CC的时间 */
    @Excel(name = "同步到CC的时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "同步到CC的时间",name="syncTime",required = false,dataType="int",example="同步到CC的时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date syncTime;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）",name="delFlag",required = false,dataType="int",example="删除标志（0代表存在 2代表删除）")
    private String delFlag;

    // 辅助字段
    /** 子表主键(st_plan_details表主键) */
    @ApiModelProperty(value = "st_plan_details表主键",name="planId",required = true,dataType="int",example="st_plan_details表主键")
    private Long planId;
    /** 服务通知主键（st_service_notice表） */
    @ApiModelProperty(value = "st_service_notice表主键",name="noticeId",required = true,dataType="String",example="st_service_notice表主键")
    private Long noticeId;
    /** 工程师姓名 */
    @ApiModelProperty(value = "工程师姓名",name="fseName",required = true,dataType="String",example="工程师姓名")
    private String fseName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setServiceNo(String serviceNo)
    {
        this.serviceNo = serviceNo;
    }

    public String getServiceNo()
    {
        return serviceNo;
    }
    public void setEnginnerId(Long enginnerId)
    {
        this.enginnerId = enginnerId;
    }

    public Long getEnginnerId() 
    {
        return enginnerId;
    }
    public void setInstallStartTime(Date installStartTime) 
    {
        this.installStartTime = installStartTime;
    }

    public Date getInstallStartTime() 
    {
        return installStartTime;
    }
    public void setInstallEndTime(Date installEndTime) 
    {
        this.installEndTime = installEndTime;
    }

    public Date getInstallEndTime() 
    {
        return installEndTime;
    }
    public void setWarrantyStartTime(Date warrantyStartTime) 
    {
        this.warrantyStartTime = warrantyStartTime;
    }

    public Date getWarrantyStartTime() 
    {
        return warrantyStartTime;
    }
    public void setWarrantyEndTime(Date warrantyEndTime) 
    {
        this.warrantyEndTime = warrantyEndTime;
    }

    public Date getWarrantyEndTime() 
    {
        return warrantyEndTime;
    }
    public void setAcceptanceTime(Date acceptanceTime) 
    {
        this.acceptanceTime = acceptanceTime;
    }

    public Date getAcceptanceTime() 
    {
        return acceptanceTime;
    }
    public void setComputerMfr(String computerMfr) 
    {
        this.computerMfr = computerMfr;
    }

    public String getComputerMfr() 
    {
        return computerMfr;
    }
    public void setModelNumber(String modelNumber) 
    {
        this.modelNumber = modelNumber;
    }

    public String getModelNumber() 
    {
        return modelNumber;
    }
    public void setServiceNumber(String serviceNumber) 
    {
        this.serviceNumber = serviceNumber;
    }

    public String getServiceNumber() 
    {
        return serviceNumber;
    }
    public void setSoftware(String software) 
    {
        this.software = software;
    }

    public String getSoftware() 
    {
        return software;
    }
    public void setOptionSoftware(String optionSoftware) 
    {
        this.optionSoftware = optionSoftware;
    }

    public String getOptionSoftware() 
    {
        return optionSoftware;
    }
    public void setSyssoft(String syssoft) 
    {
        this.syssoft = syssoft;
    }

    public String getSyssoft() 
    {
        return syssoft;
    }
    public void setSyncFlag(String syncFlag) 
    {
        this.syncFlag = syncFlag;
    }

    public String getSyncFlag() 
    {
        return syncFlag;
    }
    public void setSyncTime(Date syncTime) 
    {
        this.syncTime = syncTime;
    }

    public Date getSyncTime() 
    {
        return syncTime;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public Long getPlanId() {
        return planId;
    }

    public void setPlanId(Long planId) {
        this.planId = planId;
    }

    public Long getNoticeId() {
        return noticeId;
    }

    public void setNoticeId(Long noticeId) {
        this.noticeId = noticeId;
    }

    public String getFseName() {
        return fseName;
    }

    public void setFseName(String fseName) {
        this.fseName = fseName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("serviceNo", getServiceNo())
            .append("enginnerId", getEnginnerId())
            .append("installStartTime", getInstallStartTime())
            .append("installEndTime", getInstallEndTime())
            .append("warrantyStartTime", getWarrantyStartTime())
            .append("warrantyEndTime", getWarrantyEndTime())
            .append("acceptanceTime", getAcceptanceTime())
            .append("computerMfr", getComputerMfr())
            .append("modelNumber", getModelNumber())
            .append("serviceNumber", getServiceNumber())
            .append("software", getSoftware())
            .append("optionSoftware", getOptionSoftware())
            .append("syssoft", getSyssoft())
            .append("syncFlag", getSyncFlag())
            .append("syncTime", getSyncTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
